#ifndef PACKAGECONSTANTS_H_
#define PACKAGECONSTANTS_H_

namespace Impp {

typedef unsigned char 		byte; 		//1 byte

static byte MCAP_TLV2711_FMT_s[] = { byte(0x09), byte(0x46), byte(0x13), byte(0x49),
				   byte(0x4c), byte(0x7f), byte(0x11), byte(0xd1),
				   byte(0x82), byte(0x22), byte(0x44), byte(0x45),
				   byte(0x53), byte(0x54), byte(0x00), byte(0x00) };

static byte MCAP_TLV2711_SEND_FILE[] = { byte(0x09), byte(0x46), byte(0x13), byte(0x43),
				   byte(0x4c), byte(0x7f), byte(0x11), byte(0xd1),
				   byte(0x82), byte(0x22), byte(0x44), byte(0x45),
				   byte(0x53), byte(0x54), byte(0x00), byte(0x00) };

static byte PSIG_MESSAGE[] = { 	byte(0x00), byte(0x00), byte(0x00), byte(0x00),
				   			byte(0x00), byte(0x00), byte(0x00), byte(0x00),
				   			byte(0x00), byte(0x00), byte(0x00), byte(0x00),
				   			byte(0x00), byte(0x00), byte(0x00), byte(0x00) };

static byte MGTYPE_STATUSMSGEXT[] = { 	byte(0x81), byte(0x1a), byte(0x18), byte(0xbc),
										byte(0x0e), byte(0x6c), byte(0x18), byte(0x47),
										byte(0xa5), byte(0x91), byte(0x6f), byte(0x18),
										byte(0xdc), byte(0xc7), byte(0x6f), byte(0x1a) };


enum ICQStatus{
	ICQ_STATUS_OFFLINE = 0x1000,
	ICQ_STATUS_ONLINE = 0x0000,
	ICQ_STATUS_AWAY = 0x0001,
	ICQ_STATUS_DND = 0x0002,
	ICQ_STATUS_NA = 0x0004,
	ICQ_STATUS_OCCUPIED = 0x0010,
	ICQ_STATUS_FREE4CHAT = 0x0020,
	ICQ_STATUS_INVISIBLE = 0x0100
};


enum Families{
	 ICQ_SERVICE_FAMILY          = 0x0001,
	 ICQ_LOCATION_FAMILY         = 0x0002,
	 ICQ_BUDDY_FAMILY            = 0x0003,
	 ICQ_MSG_FAMILY              = 0x0004,
	 ICQ_BOS_FAMILY              = 0x0009,
	 ICQ_LOOKUP_FAMILY           = 0x000a,
	 ICQ_STATS_FAMILY            = 0x000b,
	 ICQ_AVATAR_FAMILY           = 0x0010,
	 ICQ_LISTS_FAMILY            = 0x0013,
	 ICQ_EXTENSIONS_FAMILY       = 0x0015,
	 ICQ_AUTHORIZATION_FAMILY    = 0x0017
};

enum ServiceFamily{
	/* Subtypes for Service Family = 0x0001 */
	 ICQ_ERROR                   = 0x0001,
	 ICQ_CLIENT_READY            = 0x0002,
	 ICQ_SERVER_READY            = 0x0003,
	 ICQ_CLIENT_NEW_SERVICE      = 0x0004,
	 ICQ_SERVER_REDIRECT_SERVICE = 0x0005,
	 ICQ_CLIENT_REQ_RATE_INFO    = 0x0006,
	 ICQ_SERVER_RATE_INFO        = 0x0007,
	 ICQ_CLIENT_RATE_ACK         = 0x0008,
	 ICQ_SERVER_RATE_CHANGE      = 0x000a,
	 ICQ_SERVER_PAUSE            = 0x000b,
	 ICQ_CLIENT_PAUSE_ACK        = 0x000c,
	 ICQ_SERVER_RESUME           = 0x000d,
	 ICQ_CLIENT_REQINFO          = 0x000e,
	 ICQ_SERVER_NAME_INFO        = 0x000f,
	 ICQ_SERVER_EVIL_NOTICE      = 0x0010,
	 ICQ_CLIENT_SET_IDLE         = 0x0011,
	 ICQ_SERVER_MIGRATIONREQ     = 0x0012,
	 ICQ_SERVER_MOTD             = 0x0013,
	 ICQ_CLIENT_FAMILIES         = 0x0017,
	 ICQ_SERVER_FAMILIES2        = 0x0018,
	 ICQ_CLIENT_SELF_INFO        = 0x000e,
	 ICQ_CLIENT_SET_STATUS       = 0x001e,
	 ICQ_SERVER_EXTSTATUS        = 0x0021
};
enum LocationFamily{
	/* Subtypes for Location Family = 0x0002 */
	 ICQ_LOCATION_CLI_REQ_RIGHTS = 0x0002,
	 ICQ_LOCATION_RIGHTS_REPLY   = 0x0003,
	 ICQ_LOCATION_SET_USER_INFO  = 0x0004,
	 ICQ_LOCATION_REQ_USER_INFO  = 0x0005,
	 ICQ_LOCATION_USR_INFO_REPLY = 0x0006
};

enum BuddyFamily{
	/* Subtypes for Buddy Family = 0x0003 */
	 ICQ_USER_CLI_REQBUDDY       = 0x0002,
	 ICQ_USER_SRV_REPLYBUDDY     = 0x0003,
	 ICQ_USER_ADDTOLIST          = 0x0004,
	 ICQ_USER_REMOVEFROMLIST     = 0x0005,
	 ICQ_USER_NOTIFY_REJECTED    = 0x000a,
	 ICQ_USER_ONLINE             = 0x000b,
	 ICQ_USER_OFFLINE            = 0x000c
};

enum MessageFamily{
	/* Subtypes for Message Family = 0x0004 */
	 ICQ_MSG_SRV_ERROR           = 0x0001,
	 ICQ_MSG_CLI_SETPARAMS       = 0x0002,
	 ICQ_MSG_CLI_RESETPARAMS     = 0x0003,
	 ICQ_MSG_CLI_REQICBM         = 0x0004,
	 ICQ_MSG_SRV_REPLYICBM       = 0x0005,
	 ICQ_MSG_SRV_SEND            = 0x0006,
	 ICQ_MSG_SRV_RECV            = 0x0007,
	 ICQ_MSG_CLI_SOMEREQ		 = 0x0010,
	 ICQ_MSG_SRV_MISSED_MESSAGE  = 0x000A,
	 ICQ_MSG_RESPONSE            = 0x000B,
	 ICQ_MSG_SRV_ACK             = 0x000C,
	 ICQ_MSG_MTN                 = 0x0014
};
enum PrivacyFamily{
	/* Subtypes for Privacy Family = 0x0009 */
	 ICQ_PRIVACY_REQ_RIGHTS      = 0x0002,
	 ICQ_PRIVACY_RIGHTS_REPLY    = 0x0003,
	 ICQ_CLI_ADDVISIBLE          = 0x0005,
	 ICQ_CLI_REMOVEVISIBLE       = 0x0006,
	 ICQ_CLI_ADDINVISIBLE        = 0x0007,
	 ICQ_CLI_REMOVEINVISIBLE     = 0x0008,
	 ICQ_PRIVACY_SERVICE_ERROR   = 0x0009,
	 ICQ_CLI_ADDTEMPVISIBLE      = 0x000A,
	 ICQ_CLI_REMOVETEMPVISIBLE   = 0x000B
};
enum LookupFamily{
	/* Subtypes for Lookup Family = 0x000a */
	 ICQ_LOOKUP_REQUEST          = 0x0002,
	 ICQ_LOOKUP_EMAIL_REPLY      = 0x0003
};

enum StatsFamily{
	/* Subtypes for Stats Family = 0x000b */
	 ICQ_STATS_MINREPORTINTERVAL = 0x0002
};
enum AvatarFamily{
	/* Subtypes for Avatar Family = 0x0010 */
	 ICQ_AVATAR_ERROR            = 0x0001,
	 ICQ_AVATAR_UPLOAD_REQUEST   = 0x0002,
	 ICQ_AVATAR_UPLOAD_ACK       = 0x0003,
	 ICQ_AVATAR_GET_REQUEST      = 0x0006,
	 ICQ_AVATAR_GET_REPLY        = 0x0007
};
enum ServerListsFamily{
	/* Subtypes for Server Lists Family = 0x0013 */
	 ICQ_LISTS_ERROR             = 0x0001,
	 ICQ_LISTS_CLI_REQLISTS      = 0x0002,
	 ICQ_LISTS_SRV_REPLYLISTS    = 0x0003,
	 ICQ_LISTS_CLI_REQUEST       = 0x0004,
	 ICQ_LISTS_CLI_CHECK         = 0x0005,
	 ICQ_LISTS_LIST              = 0x0006,
	 ICQ_LISTS_GOTLIST           = 0x0007,
	 ICQ_LISTS_ADDTOLIST         = 0x0008,
	 ICQ_LISTS_UPDATEGROUP       = 0x0009,
	 ICQ_LISTS_REMOVEFROMLIST    = 0x000A,
	 ICQ_LISTS_ACK               = 0x000E,
	 ICQ_LISTS_UPTODATE          = 0x000F,
	 ICQ_LISTS_CLI_MODIFYSTART   = 0x0011,
	 ICQ_LISTS_CLI_MODIFYEND     = 0x0012,
	 ICQ_LISTS_GRANTAUTH         = 0x0014,
	 ICQ_LISTS_AUTHGRANTED       = 0x0015,
	 ICQ_LISTS_REVOKEAUTH        = 0x0016,
	 ICQ_LISTS_REQUESTAUTH       = 0x0018,
	 ICQ_LISTS_AUTHREQUEST       = 0x0019,
	 ICQ_LISTS_CLI_AUTHRESPONSE  = 0x001A,
	 ICQ_LISTS_SRV_AUTHRESPONSE  = 0x001B,
	 ICQ_LISTS_YOUWEREADDED      = 0x001C
};

enum ExtensionsFamily{
	/* Subtypes for ICQ Extensions Family = 0x0015 */
	 ICQ_META_ERROR              = 0x0001,
	 ICQ_META_CLI_REQ            = 0x0002,
	 ICQ_META_SRV_REPLY          = 0x0003
};

enum AuthorizationFamily{
	/* Subtypes for Authorization Family = 0x0017 */
	 ICQ_SIGNON_ERROR            = 0x0001,
	 ICQ_SIGNON_LOGIN_REQUEST    = 0x0002,
	 ICQ_SIGNON_LOGIN_REPLY      = 0x0003,
	 ICQ_SIGNON_REGISTRATION_REQ = 0x0004,
	 ICQ_SIGNON_NEW_UIN          = 0x0005,
	 ICQ_SIGNON_AUTH_REQUEST     = 0x0006,
	 ICQ_SIGNON_AUTH_KEY         = 0x0007,
	 ICQ_SIGNON_REQUEST_IMAGE    = 0x000C,
	 ICQ_SIGNON_REG_AUTH_IMAGE   = 0x000D
};



}

#endif /*PACKAGECONSTANTS_H_*/
